package com.starlink.model.request.mall;

import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Map;

/**
 * @Auther: zhouyuhang01
 * @Date: 2024/4/12 15:18
 * @Description: WechatPay
 * @Version 1.0.0
 */
@Data
public class WechatRefund implements Serializable {
    /**
     * 商户订单ID
     */
    private Long orderId;
    /**
     * 商户订单号
     */
    private String orderNum;
    /**
     * 商户退款单号
     */
    private String refundNum;
    /**
     * 微信退款单号
     */
    private String wxRefundNum;
    /**
     * 退款金额 单位：分
     */
    private Long amount;
    /**
     * 退款金额 单位:元
     */
    private BigDecimal balance;
    /** 订单金额 */
    private long total;
    /** 退款金额 */
    private long refund;
    /** 用户支付金额 */
    private long payerTotal;
    /** 用户退款金额 */
    private long payerRefund;
    /**
     * 用户ID
     */
    private Long userId;
    /**
     * 商品数量
     */
    private Long quantity;
    /**
     * 订单类型
     * @see com.starlink.common.enums.OrderTypeEnum
     */
    private Integer orderType;
    /**
     * 退款方式  0:全部退款 1:部分退款  支持商户自定义退款金额,但不得大于订单总金额
     */
    private Integer refundType;

    /**
     * 购物车需要售后的商品ID:数量
     */
    private Map<Long, Integer> carData;

    /**
     * 操作类型 ("操作类型 0:用户操作待发货商品退款 1:商户操作待发货商品退款 2:商户售后退款 ")
     */
    private Integer operationType;
}
